package com.linjiang.design.adapter.v1;

//适配器模式(对象的适配器模式-组合的方式)
//将一个类的接口转换成客户希望的另一个接口，该模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
public class AdapterTest1 {

    public static void main(String[] args) {
        Adapter adapter = new Adapter(new Adaptee());
        adapter.output5v();
    }
}

//要适配的接口
class Adaptee{
    public int output220v(){
        return 220;
    }
}

//目标接口
interface Target{
    int output5v();
}

//适配器
class Adapter implements Target{
    private Adaptee adaptee;

    public Adapter(Adaptee adaptee) {
        this.adaptee = adaptee;
    }

    @Override
    public int output5v() {
        int i = adaptee.output220v();
        System.out.println(String.format("原始电压：%d v -> 输出电压：%d v",i, 5));
        //转换成5v输出
        return 5;
    }
}